1. Field of the Invention
The present invention relates to downlink transmissions and more particularly to first level interleaving for transport channels in the downlink.
2. Description of Related Art
In technical document 3GPP TS25.212, version 4.0.0. Release 4, which describes the current 3GPP standard for the Universal Mobile Telecommunication System (UMTS) Multiplexing and channel coding (FDD), two interleaving steps are defined in the downlink (base station transmitting to mobile station). FIG. 1 illustrates a well-known prior art transport channel multiplexing structure for downlink according to TS25.212. The functional block performing the interleaving operation may be referred to as an interleaver. Two interleavers, a 1st interleaver and a 2nd interleaver, connected in series as shown in FIG. 1, are used to interleave the data in a two-step process. The two interleaving steps evenly spread data bits over multiple radio frames. This may result in an improved Bit Error Rate (BER) when compared to non-interleaved data with the same signal to noise ratio (SNR). The reason for these results is that a short fade in the received radio signal does not corrupt a whole series of related bits, making it impossible for the decoder to decode a data bit. Instead, only a number of unrelated bits, which are protected by other bits transmitted in other radio frames, are corrupted.
The 1st interleaver is a block interleaver with inter-column permutations, where a matrix is filled row by row with an input bit sequence denoted by Xi,1, Xi,2, Xi,3 . . . Xi,xi, where i is the transport channel number (TrCH) and Xi is the number of bits. The columns of the matrix are permutated and read out column by column to obtain an output bit sequence from the block interleaver, such as is described in Section 4.2.5.2 of TS25.212. The number of columns (Fi) is equal to the number of radio frames in a transmission time interval (TTI). In the 1st interleaver, multiplexing of TrCHs occurs, during which all TrCHs meant for one user are concatenated to form a Coded Composite Transport Channel (CCTrCH). The CCTrCH is sent in one radio frame to that user.
In the 1st interleaver, the inter-column permutations are Transmission Time Interval (TTI) dependent. In other words, the 1st interleaver spreads the data bits over multiple radio frames depending on the TTI. For example, with a TTI of 80 ms, the data bits exiting the 1st interleaver are evenly distributed over eight (8) successive radio frames. The TTI may have the following values: 10 ms (no interleaving), 20 ms (2 radio frames), 40 ms (4 radio frames) and 80 ms (8 radio frames).
There are two modes defined for multiplexing within the 3GPP standard. In a fixed position multiplexing mode, the space taken by a TrCH within a CCTrCH is always constant, regardless of the actual number of bits transmitted. In a flexible position multiplexing mode, the space taken by a TrCH within a CCTrCH is variable. These multiplexing schemes require different processing.
Because the number of bits in a TrCH varies, the remaining space must be filled up to the number of bits in a radio frame. This is done by inserting Discontinuous Transmission (DTX) symbols, which add a third possible 2-bit symbol to the binary data bit. Example mapping would be Binary 0=00, Binary 1=01, DTX=10, pbit=11. With DTX, the transmitter is instructed not to send anything for the duration of that symbol.
According to the standard, in fixed position multiplexing, DTX insertion is done at the input to the 1st interleaver, so that tri-valued symbols are stored in a data memory of the 1st interleaver. In flexible position multiplexing, DTX insertion is done after 1st interleaving and after TrCH Multiplexing, which fills the radio frame with bits after all TrCHs are multiplexed into the frame. This results in two places where DTX insertion is done, requiring additional hardware.
Another operation that may complicate the implementation of the 1st interleaver in the 3GPP standard is that the number of bits over which the 1st interleaving process must be performed may vary from radio frame to radio frame. The size of TrCHs change from TTI to TTI, and a base station also occasionally needs to reserve gaps in the transmission to allow the mobile to perform measurement of the strength of other base stations, so that the frame size of a CCTrCH may change on a frame by frame basis. These gaps are referred to as “measurement gaps”. From this measurement, the mobile may decide whether and when to switch to another base station with better signal quality.
These measurement gaps must be created during interleaving; otherwise the bits are not evenly spread over the radio frames, or will not fit in a radio frame. The size of these measurement gaps may be programmable per radio frame. TS25.212 describes the insertion of a fourth symbol, called a p-bit symbol, in multiplexing with fixed positions. The p-bit must be stored in data memory at the input side of the 1st interleaver, and must be removed later at the output side when data is read out from the data memory. By removing the p-bits at the output side, the number of bits transmitted in a radio frame is reduced. This number of bits must be equal to the number of bits normally transmitted during the measurement gap.
In the case described above in the standard, justification for inserting the p-bits is that each symbol is already coded with two bits to accommodate for the DTX symbol needed for fixed position multiplexing, so insertion of the p-bit does not increase memory size. However, the cost may be the additional processing time dedicated to inserting and removal of these p-bits.
Implementation of the 3GPP Standard
FIG. 2 is a table illustrating the well-known prior art method described in the 3GPP standard for dynamically storing data for each TrCH in the 1st interleaver for fixed position multiplexing. FIG. 2 is an example of memory content for a TTI=80 ms for one TrCH with fixed position operation, other TrCHs with different TTIs can have a different number of columns than what is shown in FIG. 2. For a Transport Channel (TrCH), the bits received are denoted by gi1, gi2, gi3, . . . , giG. The received number of bits (Gi) is not predictable, as Gi may change every TTI and also when compressed mode gaps are reserved for transmission. These bits are inserted into a number of columns (Fi) depending on the Transmission Time Interval (TTI) of the TrCH. The 1st interleaver stores a full TTI of TrCHs that are to be multiplexed within a CCTrCH. Each column (Fi) represents a radio frame of the TTI of a TrCH, and is used to select the permutation patterns. The number of p-bits for each consecutive frame is denoted by Np[0˜Fi−1], and is normally pre-inserted in each column. The index of Np is the frame number after permutation, as may be seen from the frame sequence at the top of FIG. 2. In other words, the index of Np is the relative frame number in the TTI, when the index is read out with normal permutation polynomials.
For fixed position mode, each column will contain the same number of bits (Hi). The parameter (Hi) represents the size of a column (from top to bottom, including p bits, data and DTX). The definition of Hi may be different for different TrCH multiplexing. For example, in flexible position multiplexing, Hi=Gi/Fi (number of input bits divided by the number of columns); in fixed position multiplexing, Hi=Gi(max)/Fi (maximum possible number of input bits divided by the number of columns). DTX bits will be inserted in each column after data is received, in order to fill up to Hi. For flexible positions, the column depth Hi is not fixed; thus no 1st DTX insertion and p-bit insertion is required. Therefore, Hi will have to be recorded for each column.
The data for each TrCH may be dynamically stored as shown in FIG. 2. In FIG. 2, data for all TrCHs within all CCTrCHs may be stored in a single memory. TrCH multiplexing means to read out an interleaved column of data from each radio frame of every TrCH, and to append TrCHs, one after another, to form a frame of data for a CCTrCH. A 2nd DTX insertion means to add DTX bits to the end of TrCH multiplexing, so as to fill up a frame of data for all physical channels (PhCHs) of the CCTrCH (e.g., number of Ndata bits compressed/uncompressed).
FIG. 7(a) illustrates an input side procedure described in the 3GPP standard for the 1st interleaver. The memory content of FIG. 2 is constructed based on the procedure illustrated in FIG. 7(a), which is the process of filling a buffer in accordance with TS25.212. Referring to FIG. 7(a), in general a matrix is filled row by row with an input bit sequence denoted by gi,1, gi,2, gi,3 . . . gi,xi, where i is the transport channel number (TrCH) and Xi is the number of bits. The columns of the matrix are permutated and read out column by column to obtain an output bit sequence from the block interleaver. The filling order is as shown in FIG. 7(a), and 2 bit, 4-valued symbols (e.g., binary values “00”=data 0, “01”=data 1, “10”=DTX, “11”=p-bit, etc.) are stored to the interleaver memory. Whether a p-bit or a data bit (gi,xi) is stored depends on whether a column bit counter (counter(i)) is larger than the number of p-bits for each consecutive frame in that column (Np(i)).
FIGS. 3(a) and 3(b) illustrate the output from a prior art 1st interleaver in accordance with the current standard. In particular, FIG. 3(a) and 3(b) illustrates the output after TrCH multiplexing and 2nd DTX insertion, e.g., the output of 2nd DTX insertion from FIG. 1. FIG. 3(a) shows the output of the 1st interleaver for fixed multiplexing, FIG. 3(b) for flexible multiplexing. Initially on the output side, the 1st interleaver performs TTI frame permutation. The output side reads one column (radio frame) of a TTI from each TrCH in a CCTrCH to form a CCTrCH frame. In FIGS. 3(a) and 3(b), each TrCH represents only one column in FIG. 2. Thus initially for each TrCH, the output side of the 1st interleaver selects which column to read out in memory, as described in Section 4.2.5.2 of TS25.212, for example.
In fixed positions multiplexing, p-bits are used. The p-bits are not actually sent over the air interface by the transmitter, but represent the gaps created for measurement. The p-bits will be removed before physical channel segmentation (see FIG. 1) to reserve space for the transmission gap, therefore the p-bits in FIG. 3(a), shown in cross-hatch, will not be output. In flexible positions multiplexing, reducing the traffic in a radio frame and decreasing the size of the CCTrCH (Ndata in FIG. 3(b)) creates a measurement gap. No p-bits are used in flexible positions multiplexing.
The implementation according to the current 3GPP standard, as described above, may be inefficient in that two-bit, four-valued symbols must be stored at the input side in the 1st interleaver data memory. Accordingly, the memory size must be twice the size of what is necessary to store just the data bits of a radio frame.